/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package logica;

import fisica.CapaFisica;
import fisica.CuidadoCuidadoYMedicionFisica;
import hibernate.objeto.CuidadoCuidadoYMedicion;
import hibernate.objeto.CuidadoYMedicion;
import java.util.Vector;

/**
 *
 * @author Gonzalo
 */
public class CuidadoCuidadoYMedicionLogica extends CapaLogica {

    /**
     * Crea y persiste los cuidados de un cuidado de internación.
     *
     * @param datosCuidadoCuidadoYMedicion Los datos de los cuidados
     *
     * @param cuidadoYMedicion  El id del objeto
     * creado para su posterior recuperación
     * @return true si se agregó correctamente, false en caso contrario
     */
    public static boolean agregarCuidadoCuidadoYMedicion(
            Object[] datosCuidadoCuidadoYMedicion,
            CuidadoYMedicion cuidadoYMedicion) {
        //Crea el objeto
        CuidadoCuidadoYMedicion cuidadoCuidadoYMedicion =
                crearObjetoCuidadoCuidadoYMedicion(
                datosCuidadoCuidadoYMedicion);

        cuidadoCuidadoYMedicion.setCuidadoYMedicion(
                    cuidadoYMedicion);

        //Persiste el objeto
        if (CapaFisica.guardarOActualizarObjeto(cuidadoCuidadoYMedicion)) {

            return true;
        } else {
            return false;
        }
    }

    /**
     * Crea el objeto CuidadoCuidadoYMedicion.
     *
     * @param datosCuidadoCuidadoYMedicion Los datos de los cuidados
     * las determinaciones
     * @return El objeto creado
     */
    private static CuidadoCuidadoYMedicion
            crearObjetoCuidadoCuidadoYMedicion(
            Object[] datosCuidadoCuidadoYMedicion) {

        CuidadoCuidadoYMedicion cuidadoCuidadoYMedicion =
                new CuidadoCuidadoYMedicion();

        cuidadoCuidadoYMedicion.setTipoCuidadoCuidadoYMedicion(
                datosCuidadoCuidadoYMedicion[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADO_DE_INTERNACION_CUIDADOS_Y_MEDICIONES_CUIDADO_TIPO].toString());
        
        cuidadoCuidadoYMedicion.setConclusionesCuidadoCuidadoYMedicion(
                datosCuidadoCuidadoYMedicion[CapaLogica.
                TRATAMIENTO_Y_PRACTICA_CUIDADO_DE_INTERNACION_CUIDADOS_Y_MEDICIONES_CUIDADO_TIPO].toString());

        return cuidadoCuidadoYMedicion;
    }

    /**
     * Retorna un vector de objetos CuidadoCuidadoYMedicion
     * según el id del cuidado y medicion.
     *
     * @param idCuidadoYMedicion El número de documento
     * @return El objeto Paciente consultado
     */
    public static Vector<CuidadoCuidadoYMedicion>
            getVectorCuidadoCuidadoYMedicionPorIdCuidadoYMedicion(
            int idCuidadoYMedicion) {
        return CuidadoCuidadoYMedicionFisica.
                getVectorCuidadoCuidadoYMedicionPorIdCuidadoYMedicion(
                idCuidadoYMedicion);
    }


    /**
     * Retorna el objeto CuidadoCuidadoYMedicion según el id.
     *
     * @param idCuidadoCuidadoYMedicion
     * @return El objeto CuidadoCuidadoYMedicion consultado,
     * null si no existe
     */
    public static CuidadoCuidadoYMedicion getProfesionalTratamientoQuirurgicoPorId(
            int idCuidadoCuidadoYMedicion) {
        return CuidadoCuidadoYMedicionFisica.getCuidadoCuidadoYMedicionPorId(
                idCuidadoCuidadoYMedicion);
    }

    /**
     * Retorna todo el objeto CuidadoCuidadoYMedicion en String.
     *
     * @param cuidadoCuidadoYMedicion  El objeto a escribir
     */
    public static String getCuidadoCuidadoYMedicionString(
            CuidadoCuidadoYMedicion cuidadoCuidadoYMedicion) {

        String conclusionString =
                "idCuidadoCuidadoYMedicion: " +
                cuidadoCuidadoYMedicion.getIdCuidadoCuidadoYMedicion() + "\n" +
                "tipoCuidadoCuidadoYMedicion: " +
                cuidadoCuidadoYMedicion.getTipoCuidadoCuidadoYMedicion() + "\n" +
                "conclusionesCuidadoCuidadoYMedicion: " +
                cuidadoCuidadoYMedicion.getConclusionesCuidadoCuidadoYMedicion() + "\n";

        return conclusionString;
    }


    /**
     * Retorna todo el objeto CuidadoCuidadoYMedicion en HTML.
     *
     * @param cuidadoCuidadoYMedicion  El objeto a escribir
     */
    public static String getCuidadoCuidadoYMedicionHTML(
            CuidadoCuidadoYMedicion cuidadoCuidadoYMedicion) {
        String cuidadoCuidadoYMedicionHTML = "";

        if (cuidadoCuidadoYMedicion != null) {
            cuidadoCuidadoYMedicionHTML =
                "<font size=\"3\" face=\"arial\" color=\"blue\">"
                    + "CUIDADO</font><br><br><hr /><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Tipo: </font><br>"
                    + "<font size=\"3\" face=\"arial\">" +
                cuidadoCuidadoYMedicion.getTipoCuidadoCuidadoYMedicion() + "</font><br><br>"
                + "<font size=\"3\" face=\"arial\" color=\"blue\">Conclusión: </font><br>"
                    + "<font size=\"3\" face=\"arial\">" +
                cuidadoCuidadoYMedicion.getConclusionesCuidadoCuidadoYMedicion() + "</font><br><br>";
        } else {
            cuidadoCuidadoYMedicionHTML = "<font size=\"3\" face=\"arial\" color=\"blue\">CUIDADO</font><br><br> " +
                    "<hr /><font size=\"3\" face=\"arial\">No posee</font><br></font><hr />";
        }

        return cuidadoCuidadoYMedicionHTML;
    }
}
